package chapter5.controller;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import chapter5.service.UserService;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;
import chapter5.entity.User;
@Controller
//@RequestMapping(value="user")
public class UserController {
    @Resource
    public UserService userService;
    @RequestMapping(value="/userList.do")
    //使用SpringMVC中的ModelAndView对象实现请求页面的响应
    protected ModelAndView userList(){
        List<User> list=userService.getUserList();
        Map<String,Object> model = new HashMap<String,Object>();
        model.put("list", list);
        //为ModelAndView对象指定响应页面，并绑定响应数据。
        ModelAndView modelAndView = new ModelAndView("userList",model);
        return modelAndView;
    }
    /*
    1.org.springframework.web.servlet.handler.SimpleUrlHandlerMapping
    通过配置请求路径和 Controller 映射建立关系，找到相应的 Controller
    访问方式: http://ip:port/project/userlist.htm
    2.org.springframework.web.servlet.mvc.support.ControllerClassNameHandlerMapping
    通过 Controller 的类名找到请求的 Controller。
    访问方式: http://ip:port/project/user
    3.org.springframework.web.servlet.handler.BeanNameUrlHandlerMapping
    通过定义的 beanName 进行查找要请求的 Controller
    访问方式: http://ip:port/project/users
    4.org.springframework.web.servlet.mvc.annotation.DefaultAnnotationHandlerMapping
    通过注解 @RequestMapping ("/userlist") 来查找对应的 Controller。
    访问方式: http://ip:port/project/userlist
    注：@RequestMapping ("/userlist") 定义的路径
    * */
}

